package com.lambert.gingko.watermark.strategy;

import com.lambert.gingko.watermark.enums.FileType;
import com.lambert.gingko.watermark.model.WatermarkConfig;

import java.io.File;
import java.io.InputStream;

/**
 * 水印处理器策略接口
 * @author lambert
 * @since  2025/08/31
 */
public interface WatermarkProcessor {
    /**
     * 处理文件并添加水印
     * @param inputStream 输入流
     * @param fileName 文件名
     * @param config 水印配置
     * @return 处理后的文件
     */
    File process(InputStream inputStream,String fileName, WatermarkConfig config) throws Exception;
    /**
     * 获取支持的文件类型
     */
    FileType getSupportedType();
}
    